home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Camelot
/
Camelot 078 (1990-06)(Swedish User Group of Amiga)(SE)(PD)[WB].zip
/
Camelot 078 (1990-06)(Swedish User Group of Amiga)(SE)(PD)[WB].adf
/
fassem
/
README
< prev
next >
Wrap
Text File
|
1990-05-22
|
9KB
|
189 lines
These notes briefly describe some of FASSEM features and the limitations
of the demo version. Because this is a demonstration version, it may be
freely redistributed to anyone provided that the program and this file
are NOT modified and that this file is distributed with the DEMO version.
The program FASSEM and its demo version are both copyrighted.
This is a DEMO version of the fast 68000 assembler. Because it is a
demo, the following functions have been deleted from the code:
XREF - no external references are allowed.
MREF - no external merged references are allowed.
XDEF - no definitions of symbols are allowed.
SECTION - no section declarations can be made.
INCLUDE - no files may be included (including by the -h command option).
All other features are enabled in the demo version.
The fast 68000 assembler has the following features:
- Normal source assembles at 200 to 300 lines per second on an A1000.
- Full macro capabilities.
- Local symbols.
- Conditional assembly.
- Complete cross reference showing usage as well as symbol locations.
- In-line macros.
- Dynamic allocation of memory.
- One-pass assembly. The source may be piped into FASSEM.
- Use of external register offsets into MERGED data of BLINK.
- Support of standard directives and instruction formats.
- Generation of FAST and CHIP sections.
- Expressions are evaluated with precedence.
- Optimization of some address modes.
FASSEM is run from the CLI and has the following command line syntax:
FASSEM <source file> [<options>]*
The source file must contain the full name, including the suffix. The
output may be redirected by specifying the redirection after FASSEM.
The options may be zero or more of the following:
-c<control opts> - Enable one or more of the control options. The
control options follow the -c without any
spaces. The following control options are
allowed:
c - Turn case compress on. All symbols are
converted to upper case.
d - Exclude all symbols starting with a period
(.) from the symbol table in the object
file. The control option s MUST be
specified before any symbols are placed in
the file.
m<n> - Set the maximum # bytes in workspace that
FASSEM is allowed to use. Default is
150000 bytes. Memory is dynamically
allocated as required. The limit can be
raised or lowered.
s - Output symbols to the object file.
t - Suppress the listing of macro expansions.
u - Generate a cross reference. However, if
a symbol is used only when the listing
is disabled by NOLIST, do not show.
x - Generate a cross reference.
-d<symbol> - Define the symbol given with a value of 0. The
symbol is NEVER case compressed.
-h<file> - DISABLED IN DEMO. Include the file before
assembling the source file.
-i<dirs> - Specify search directories for includes. The
directories are separated by commas or pluses.
The whole option can be enclosed in double quotes.
-l[<file>] - Enable listing. If no file is given, the listing
appears on the console.
-o<file> - Create the object file given. No suffix is
assumed.
Examples of the execution of FASSEM:
fassem xyzzy.a -oxyzzy.o
fassem xyzzy.a -csx -dmysymbol -oxyzzy.o -lxyzzy.l
The following directives are supported by FASSEM:
label CNOP mod,base - Align code to boundary. CNOP 1,4 will
align to 1 byte past longword boundary.
label DC.x <value list> - Define values within the current section.
Each value is separated by commas.
label DCB.x <count>,<value>- Define a block of <count> values where
each value is defined by <value>.
label DS.x <count> - Allocate storage for <count> values where
each value has the given size.
label END - End assembly.
ENDC - End conditional assembly.
ENDM - End macro definition.
label EQU <expr> - Equate label to expression.
label EQUR <reg> - Equate label to register.
FAIL <any> - Create a non-fatal error.
IDNT <name> - Name the program unit. The name may be
enclosed in double quotes.
IFC <lit1>,<lit2> - Assemble if literals are the same.
IFD <symbol> - Assemble if symbol defined.
IFEQ <expr> - Assemble if expr 0.
IFGE <expr> - Assemble if expr >= 0.
IFGT <expr> - Assemble if expr > 0.
IFLE <expr> - Assemble if expr <= 0.
IFLT <expr> - Assemble if expr < 0.
IFNC <lit1>,<lit2> - Assemble if literals are different.
IFND <symbol> - Assemble if symbol undefined.
IFNE <expr> - Assemble if expr not 0.
INCLUDE <file> - Include file. DISABLE IN DEMO.
label IS <string> - Equate symbol to string. This allows the
replacement of a symbol with any set of
symbols.
LIST - Enable listing after NOLIST.
LLEN <expr> - Set the listing line length.
label MACRO - Define a macro
MEXIT - Exit from macro expansion.
MREF <symbol list> - Import merged symbols. DISABLED IN DEMO.
This is used when accessing base address
relative offsets.
NOL - Disable listing.
NOLIST - Same as NOL.
NOPAGE - Disable paging.
OFFSET <expr> - Start an offset section.
PAGE - Page the listing.
PLEN <expr> - Set the listing page length.
label REG <reg list> - Equate a symbol to a register list.
label RORG <expr> - Change the relative origin of the current
section to expr.
label SECTION <name>,<type>,<mem> - Name a section. DISABLED IN DEMO.
The section may be given a type (CODE, DATA,
or BSS) and a memory type (FAST or CHIP).
label SET <expr> - Set the value of a symbol. If the symbol
was already defined by SET, change the value
to the new one.
SPC <expr> - Space blank lines on the listing.
TTL <title> - Set new title on the listing.
UNDEF <sym list> - Undefine one or more symbols. This includes
opcodes, directives, register name, and macros.
XDEF <sym list> - Export symbols from module. DISABLE IN DEMO.
XREF <sym list> - Import symbols to module. DISABLED IN DEMO.
label is a symbol starting in column 1 or a symbol followed by a colon.
It is optional in most cases.
.x is the size operand and is optional.
Comments are defined by any text following an unquoted semicolon, text
following any spaces after the operand field (or opcode if no operands),
or an asterisk in column 1.
Symbols may be any length up to 120 characters.
Literals may have up to 120 characters.
Local symbols are defined as decimal digits followed by a $.
The printed manual contains a more detailed description of the command
line syntax and directives. Additional information on subjects such as
the cross reference, listing, errors, expressions, and symbols is given.
I am working on a new version for the 68020 with 68881 support. With
support, this will happen.
To order the supported version with includes and 79 page manual, send
(check or money order) $69.95 (US) plus $3.00 shipping and handling to:
Edward Lappin
Silver Platter Software
2900 Sagebrush Drive
Fort Collins, CO 80525
(303) 223-9086